This invention relates to providing timing information in communications networks and specifically to providing frequency and universal time information in communications networks.
Communications networks are required to deliver a variety of services over expansive geographic areas. With the increasing demand for multimedia services these networks are more and more required to deliver information that the networks were not initially designed for. Consequently new methods are constantly being developed to modify the network or enhance past network functions so that new services can be offered while meeting quality of service requirements. In some instances not only has the network proven inefficient in implementing new services but many strategies and concepts that were previously satisfactory have proven less useful as new services are conceived.
These new services deliver many different forms of information, including text, voice, and video to many different users; that information may be conveniently classified as either a time based stream or a non-time based stream. A time-based stream is a continuous flow of time sensitive information. That is, a time-based stream contains information wherein a timing component associated with each unit of information must be received or played back according to the timing component relative to the other units of information. For example, when either audio or video information is sent directly to a human interface, the time position of each unit of audio or video information is critical to the intelligible reception of the information. As a consequence, time based information places strict delay, bandwidth, and loss rate requirements on communications networks as the information must often be transported as a contiguous unit. In contrast, non-time based streams do not place the same constraints on the network. This is the case because non-time based information streams contain information that is for later consumption. Some examples of non-real time information include email messages or files. These forms of information may, for example, be held in queue until network bandwidth is available for transmittal.
Whether the information stream traversing the network is time-based or non-timed based, network timing information plays an important role in the operation of communications networks. In particular, as the information arrives at a Customer Premise Equipment (CPE), the CPE may have to recover precise frequency and universal time (i.e., time of day) information and make other time related measurements.
In order for transmitted data to be recovered at a receiver the transmitter and receiver must be synchronized. This typically requires the recovery of the frequency of the incoming data stream. The conventional approach to synchronization in the public switched telephone network (PSTN) has been to employ a hierarchical structure of progressively more accurate clocks. At the top of the hierarchy was the most accurate clock source. Signals from the clock source at the top of the hierarchy propagated downstream through the network to less accurate clocks and eventually to the network elements transporting the information. This approach to clock distribution worked quite well for the circuit switched PSTN because the PSTN essentially delivered information continuously in real time to its destination.
The PSTN hierarchical approach to timing distribution, however, has provided some complications for packet switched networks. In packet switched networks traffic patterns are often bursty, i.e., the information may not be transmitted continuously in real time to its destination. Therefore, a particular receiver is not always receiving information from a particular transmitter. When a packet is eventually received and timing information is recovered, the receiver clock may be skewed relative to the transmitter clock. Accordingly, departures from the hierarchical approach for synchronizing nodes in packet switched networks had to be made to reliably deliver information.
One such departure has been the use of universal time information. Universal time information is used to monitor the performance of cell based networks. For example, the time of day may be used to measure delay and throughput. In practice, a cell leaving its origination point may be stamped with the time of the day according to the originating CPE. When that cell arrives at its destination point, the time of day placed into the cell may be compared to the time of the day at the destination point. The difference between the time at the origination and destination points is a measure of the delay through the network.
Another departure from the approach to timing used in the PSTN is deployment of algorithms or protocols that are transmitted with and used to interpret the timing information communicated between a timing source and destination in a packet switch network. Different protocols have been developed throughout the communications industry to provide synchronization and universal time information in cell based networks. One such protocol is the Network Timing Protocol (NTP). NTP provides the mechanisms to synchronize and coordinate time distribution in a large, diverse internet operating at rates from a few kilobits/second to lightwave rates, e.g., gigabit/second. NTP uses a returnable-time design in which a distributed subnet of time servers operating in a self-organizing, hierarchical-master-slave configuration synchronizes local clocks within the subnet and to national time standards via wire or radio. The servers can also redistribute reference time via local routing algorithms and time daemons. NTP provides the protocol mechanisms to synchronize time in principle to precision on the order of nanoseconds while preserving a non-ambiguous date.
Architecturally, NTP requires a number of primary reference sources that are synchronized by wire or radio to national standards, e.g., the atomic clock in Boulder, Colo. These primary reference sources are operated as primary time servers and are usually connected to national standards by Global Positioning Systems (GPS). These primary time servers are connected to widely accessible resources such as backbone gateways. Subsets of these backbone gateways or local net hosts act as secondary time servers. By using NTP time keeping information is communicated from the primary time servers to other time servers over the internet. As such, the architecture over which NTP is deployed is similar to that implemented in the digital telephone system. The information communicated from these primary time servers is used to cross-check clocks and make up for errors due to equipment or propagation delay. The secondary servers run NTP along with one or more primary servers. In order to simplify the protocol the secondary servers distribute timing via NTP to the remaining local-net hosts.
In the end NTP is designed to produce three outputs: (1) clock offset, (2) roundtrip delay, and (3) dispersion. In simple terms, clients, e.g., workstations, transmit NTP messages requesting from the secondary time servers information that allow the clients to determine the server time with respect to the local client time and to adjust the local client clock.
NTP has some inherent limitations. While NTP can be used for monitoring delay and throughput, it achieves 1-50 millisecond accuracy. This translates to an accuracy of more than 17,000 cell periods on a 156 Mb/s link and more than 700,000 cell periods on a 622 Mb/s link. At such rates, transient congestion will be extremely difficult, if not impossible, to diagnose using the NTP protocol. Furthermore, in order to achieve millisecond accuracy NTP requires the use of complex and intricate algorithms.
Adaptations to NTP, such as Simple Network Timing Protocol (SNTP), have been implemented that allow delivery of time accurate to the order of microseconds without the complexity of the NTP. SNTP has some drawbacks. A SNTP client cannot be the source of timing for another SNTP or NTP client. Furthermore, SNTP servers must be synchronized by a stratum 1 source directly provided from a reliable radio or time service. Finally, SNTP is not as reliable as NTP and is usually not recommended for use in primary servers. As such, SNTP, while providing adequate accuracy, presents many limitations as to its use.
Accordingly, a method for providing precise frequency and universal time information and related time measurements at CPEs without the need for special or expensive components, such as GPS receivers, while having better than millisecond accuracy would be of utility.
My invention is a method for providing precise frequency and universal time information and related measurements at a CPE without the need for special and expensive components such as GPS hardware.
By my method after the CPE requests service activation, the minimum round trip time between a time server and the CPE is calculated. Based on the minimum round trip time the CPE and time server are synchronized. Once synchronized the time server and CPE then continually compensate for different transmit or receive delays based on the minimum round trip time. Based on these simple steps the time server and CPE maintain synchronization accurately without the complexity of the NTP.
An advantage of my invention is that several uni-directional cell/frame delay measurements may be obtained including end-to-end propagation delay, congestion, cell delay variation, cell transfer delay, and traffic throughput.
My invention is also advantageously approximately 100 times more accurate than NTP, providing accuracy of approximately 10 microseconds.
My invention also advantageously allows network traffic to be time stamped and correlated with any other network element supported by a time server anywhere in the world.
In addition, as previously mentioned, my invention allows for unidirectional and bidirectional delay measurements. This represents an improvement over prior art performance monitoring tools such as ping and traceroute which can measure delay but usually rely on roundtrip times. As such, these tools cannot distinguish the difference between delays in the forward and reverse directions. Because my invention does not depend on end-to-end loop back timing, I am able to accurately measure uni-directional delay which is a fundamental improvement over the prior art.
My invention is also able to accurately monitor one of the most common network problems, congestion. As those in the art are aware, the best method for monitoring congestion is to monitor the queue lengths of all the nodes used in a virtual connection. However, monitoring in this manner is rather complex. In contrast my invention offers a simple and accurate method for monitoring congestion.
My invention is also able to qualify point-to-multipoint, multipoint-to-point and n source to m destination connections. Prior art monitoring tools such as ping and traceroute cannot be used to qualify multipoint connections.
Finally, my invention may be used to identify and localize the source of network problems.
These and other advantages of my invention may be realized by reference to the drawings and detailed description described below.